File manager - Edit - /home/autoph/public_html/projects/ahg-prf-api/app/Models/User.php
Back
<?php namespace App\Models; // use Illuminate\Contracts\Auth\MustVerifyEmail; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; use Laravel\Sanctum\HasApiTokens; use PHPOpenSourceSaver\JWTAuth\Contracts\JWTSubject; use Illuminate\Database\Eloquent\SoftDeletes; use OwenIt\Auditing\Contracts\Auditable; use OwenIt\Auditing\Auditable as AuditableTrait; class User extends Authenticatable implements JWTSubject, Auditable { use HasApiTokens, HasFactory, Notifiable, AuditableTrait; protected $connection = 'hr'; /** * The attributes that are NOT mass assignable. * */ protected $guarded = [ 'deleted_at', ]; /** * The attributes that should be hidden for serialization. * * @var array<int, string> */ protected $hidden = [ 'password', 'remember_token', ]; /** * The attributes that should be cast. * * @var array<string, string> */ protected $casts = [ 'email_verified_at' => 'datetime', 'created_at' => 'datetime', 'updated_at' => 'datetime', 'deleted_at' => 'datetime', 'password' => 'hashed', ]; public function getJWTIdentifier() { return $this->getKey(); } public function getJWTCustomClaims() { return [ 'email'=>$this->email, 'name'=>$this->name ]; } // protected $with = ['roles', 'default_dealership']; protected $with = ['roles', 'employee','department_access']; public function roles() { return $this->belongsToMany( Role::class, UserRole::class, 'user_id', 'role_id' ); } // public function item_assignment() // { // return $this->belongsToMany( // ItemType::class, // ItemAssignment::class, // 'user_id', // 'item_type_id' // ); // } // public function company_access() // { // // return Company::join('role_company_access', 'companies.id', '=', 'role_company_access.company_id') // // ->join('user_roles', 'user_roles.role_id', '=', 'role_company_access.role_id') // // ->where('user_roles.user_id', $this->id) // // ->select('companies.name','companies.id'); // return $this->hasManyThrough( // Company::class, // The final model we want to access // RoleCompanyAccess::class, // The intermediate table (role_company_access) // 'role_id', // Foreign key on the intermediate table // 'id', // Foreign key on the final model (companies.id) // 'id', // Local key on the current model (users.id -> user_roles.user_id) // 'company_id' // Local key on the intermediate model (role_company_access.company_id) // )->join('user_roles', 'user_roles.role_id', '=', 'role_company_access.role_id') // ->where('user_roles.user_id', $this->id) // ->select('companies.name', 'companies.id'); // return Company::query() // ->join('role_company_access', 'companies.id', '=', 'role_company_access.company_id') // ->join('user_roles', 'user_roles.role_id', '=', 'role_company_access.role_id') // ->where('user_roles.user_id', $this->id) // ->select('companies.name', 'companies.id'); // } public function department_access() { return $this->belongsToMany( Department::class, DepartmentAccess::class, 'user_id', 'department_id' ); } public function employee() { return $this->hasOne( Employee::class, 'employee_id', 'asa_id', ); } // public function default_dealership() // { // return $this->hasOne(Store::class, 'id', 'default_dealership_id'); // } public function getFullnameAttribute() { return "{$this->first_name} {$this->last_name}"; } }
| ver. 1.4 |
.
| PHP 8.1.32 | Generation time: 0.11 |
proxy
|
phpinfo
|
Settings